package com.icinfo.cloud.provider.punish.ucase.casemain.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;
import org.springframework.util.ObjectUtils;

/**
 * 案由、当事人类型枚举
 *
 * @author Y.Jin
 * @date 2022/5/13 16:17
 */
@AllArgsConstructor
public enum PartiesReasonTypeEnum {

    /**
     * 单案由单当事人
     */
    SINGLE_PARTY("1", "单案由单当事人"),

    /**
     * 多案由单当事人
     */
    MULTIPLE_REASONS("2", "多案由单当事人"),

    /**
     * 单案由多当事人
     */
    MULTIPLE_PARTIES("3", "单案由多当事人");

    /**
     * 编码
     */
    @Getter
    private String code;

    /**
     * 描述
     */
    @Getter
    private String des;

    /**
     * 根据code获取value
     *
     * @param code
     * @return
     */
    public static String getValueByCode(String code) {
        if (ObjectUtils.isEmpty(code)) {
            return null;
        }
        for (PartiesReasonTypeEnum e : PartiesReasonTypeEnum.values()) {
            if (code.equals(e.getCode())) {
                return e.getDes();
            }
        }
        return null;
    }

    /**
     * 校验code是否是合法枚举
     *
     * @param code
     * @return
     */
    public static boolean isLegalEnumCode(String code) {
        boolean flag = false;
        for (PartiesReasonTypeEnum e : PartiesReasonTypeEnum.values()) {
            if (e.getCode().equalsIgnoreCase(code)) {
                flag = true;
                break;
            }
        }
        return flag;
    }
}
